home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload Trio 2
/
Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO
/
dir25
/
mmconv17.zip
/
MMSORT.DOC
< prev
next >
Wrap
Text File
|
1993-11-24
|
8KB
|
192 lines
MMSORT
MMSORT is intended for people who have multiple MealMaster databases.
It allows efficiency in entering recipes to the appropriate database
initially without manual sorting. If combined with MMDRIVER which runs
from archived MealMaster files, running multiple databases can become
relatively convenient and storage efficient as well. (Also useful with
MMMENU, too.)
MMSORT gives you the following display when run without parameters:
Version 1.20 Meal-Master recipe sorter by Rodney Grantham
770 Cranberry Trail Roswell, GA 30076
Usage: MMSORT infile [prmfile][ -t]
infile - contains MM format recipes to be processed
prmfile- contains sorting categories -default is MMSORT.PRM
-t - turns off title and file written to display
Sorting control information must be set up in a file- default: MMSORT.PRM.
Each of up to 12 lines contains a list of associated categories.
The first category on a line will determine the filename.
Recipes with no matching categories go to SORTmmdd.srt.
CONFIG.SYS must have FILES= set high enough.
-----------------------------------------------------------------
Basically, you just provide a file of MealMaster format recipes as the
input to MMSORT. The default file MMSORT.PRM can be used in sorting these
recipes. You can either modify it or define a totally new file to control
processing. If it is missing, MMSORT will inform you.
I use MMSORT.PRM for initial sorting. Then I use MMSORT2.PRM which is
designed to split MAINDISH.IN into various categories of meats. The last
category is similar to the MAINDISH line in MMSORT.PRM but starts with
ENTREES. After I sort with this file, I delete MAINDISH.IN.
The first name on a line in MMSORT.PRM or other file name is used to
create a file name and the file is opened. If a file name duplicates a
former one, that line will be skipped. The file name will be qualified
with .IN. If it already exists, the program appends to it. At the end of
the run files that had data added to them are displayed with number of
recipes and number of lines written. Since MM exports with an extra space
between recipes, the number of lines totals will not match. Number of
recipes should match.
Sample run:
MMSORT mm.out
Processing: mm.out
Processed: mm.out
Recipes saved: 1725
Lines read: 57168
1056 recipes ( 37063 lines) written to SORT0914.3 from mm.out
16 recipes ( 466 lines) written to CROCKPOT.IN from mm.out
64 recipes ( 2334 lines) written to SOUPS.IN from mm.out
1 recipes ( 24 lines) written to DOGS.IN from mm.out
19 recipes ( 639 lines) written to PASTAS.IN from mm.out
131 recipes ( 4449 lines) written to APPETIZE.IN from mm.out
204 recipes ( 6013 lines) written to PRESERVE.IN from mm.out
211 recipes ( 3743 lines) written to BEVERAGE.IN from mm.out
23 recipes ( 672 lines) written to MISC.IN from mm.out
The matching process is not perfect. For example the category "Rock
Spring" in one recipe put the recipe in Crockpot. 'ROCK' matched with
'ROCK' in cROCKpot. I also kept ending up with ICE CREAM in BREADS.IN
until I dropped CREAMPUFF from the bread line. TRY IT ends up with
CHICKENS.IN because of POULTRY. I still think it beats totally sorting by
hand.
If you were to put CHICKEN on the first line, then an APPETIZER with
CHICKEN in the category line would end up in the first line group rather
than the later APPETIZER category it also matched. So ordering of category
lines can affect your outcome.
(In version 1.20 all the categories are checked against the lines of
categories. The recipe goes into the match that is first in the file.
Version 1.10 did not do this correctly.)
In setting up MMSORT.PRM, use plurals for category names. This will
match with either singular or plural categories. It is not necessary to
have both DESSERT and DESSERTS - DESSERTS will catch both. Case is
irrelevant. MMSORT will upper case everything for matching purposes.
Up to 220 characters are read in for a category line. But you can make
several smaller lines for what will end up as one file and you will
then have several input files to load. However, only 25 category lines are
supported.
Files are opened 'append'. Repeated runs will continue to add to the
same files unless they are purged or renamed. This is unlike the behavior
of most of my programs. The SORTmmdd.n is handled as usual with successive
versions being numbered. This supports the usage described below.
If you have a lot of category lines, lots of files are opened
simultaneously. This may require changing your CONFIG.SYS FILES= statement
to support the additional files needed. Alternatively, you can sort the MM
recipes in successive passes. Each time you would use the SORTmmdd.n file
from the prior run as input to the next.
If you normally run with archived recipe databases, you may find that
exporting a large database and processing it severely impacts your storage.
In testing, I finally realized some of the errors I was encountering were
because I was down to zero available storage.
If there are too many files for the parameters set in \CONFIG.SYS or
you are out of storage, you will receive the following message on the file
that exceeds the limit:
MMSORT mm.out
Processing: mm.out
SORT0914.1 - couldn't open Error 0
Possibly exceeding maximum permitted files.
Also possible that your storage is exhausted.
It appears that 12 is the maximum number of files any MMSORT.PRM file
can contain and work. Borland C has a 20 files maximum and 5 are for
system files of various sorts: screen input & output, error output. One
is the input file and one is for the SORTmmdd.n file. There appear to be
one file missing which I can't account for.
Sample MMSORT.PRM (the indented items are continuations of the line above-
I split them here for convenience in reading):
crockpot
soups chowders stews gumbos chilis
dogs
pastas
appetizers snacks munchies dips cheese treats sandwiches
maindish pork fishes seafood beef chickens meats poultry sausages entrees
lamb shrimps stews salmon smoker ducks meatloafs hamburgers steaks
rabbits game pizzas turkey veal scallops
desserts pies cakes candies candy cookies frosting icing ices sherbets
bars chocolates brownies fudges cheesecakes fruitcakes mousse cobbler
puddings
breads bisquick breakfast pastry pastries tarts quiche rolls buns biscuits
pancakes breadmaker sourdough muffins waffles creampuff crepes
crackers gingerbread batters
vegetables vegan salads soups stuffing dressing side dishes
vegetarian eggplant veggies fruits beets cabbage beans side-dish
rice cheese/eggs casseroles potatoes tomatoes sidedish
preserves jams jellies jelly relishes pickles sauces preserving
spreads canning pickled mustards salsas condiments chutneys
seasonings marmalades perserves spreads marinades gravy gravies
beverages drinks alcohol punches ales
misc kids miscellaneous substitutes spices jokes
MMSORT2.PRM:
chickens poultry turkey
beef sausages hamburgers steaks meatloafs hamburgers
meats pork lamb ducks rabbits game veal calf liver
seafoods fishes shrimps scallops salmon
entrees maindish smoker pizzas casseroles
MMSORT should be packaged with MMCONV, MARKIT and MSGSPLIT. Or with
MMDRIVER.
Like MARKIT and MSGSPLIT, it is essentially a free inclusion. If you
benefit from it, register MMCONV and/or MMDRIVER. If the utilities are
particularly useful and you would like to encourage additional ones,
include a little extra with your registration.
If you have suggestions for utilities that might be useful send them to
me as well. I get I-LINK, RIME and FIDO cooking conferences so a message
there works, too.
Rodney Grantham
770 Cranberry Trail
Roswell, GA 30076